Learning ZIL: Everything You Always Wanted to Know About Writing Interactive Fiction But Couldn't Find Anyone Still Working Here to Ask, by Steven Eric Meretzky, Infocom, Inc.
Written in 1989, later converted to Microsoft Word in August of 1995. Derived from a 2002 printout and converted to PDF.
Table of Contents
1. The Basics
1.1 The Basic Ingredients
1.2 The Handler
1.3 The Parser's Role
1.4 The Basic Handling Sequence
2. Creating Rooms
2.1 What a Typical Room Definition Looks Like
2.2 Exits
2.3 Other Parts of a Room Definition
3. Creating Objects
3.1 What an Object Definition Looks Like
3.2 Object properties
4. Routines in ZIL
4.1 The Basic Parts
4.2 Calling a Routine
4.3 Conditionals
4.4 Exiting a Routine
4.5 ZIL Instructions
5. Simple Action Routines
5.1 Simple Object Action Routines
5.2 Other Common Predicates
5.3 More Complicated Predicates
5.4 A Room's Action Routine
EXERCISE ONE
6. Events
6.1 Definition
6.2 How The Interrupt System Works
6.3 Queuing an Interrupt Routine
6.4 Room M-ENDs
7. Let's Learn a Whole Lot More About ZIL Code
7.1 Mathematical Expressions in ZIL
7.2 Global Variables
7.3 The Containment System
7.4 Globals and Local-Globals
7.5 The Full Glory of TELL
7.6 Vehicles
8. The Bigger Picture
8.1 The Main Loop
8.2 More About PERFORM
8.3 Calling PERFORM Directly
8.4 Flushing inputs
EXERCISE TWO
9. The Syntax File
9.1 Basic Syntaxes
9.2 Prepositions in Syntaxes
9.3 Syntaxes with Indirect Objects
9.4 Pre-actions
9.5 The FIND Feature
9.6 Syntax Tokens
9.7 Verb Synonyms
9.8 "Switch" Syntaxes
10. Actors
10.1 Definition of an Actor
10.2 Talking to an Actor
10.3 The Transit System
11. The Describers
11.1 Definition
11.2 What goes on during a LOOK
11.3 DESCRIBE-ROOM
11.4 DESCRIBE-OBJECTS
11.5 DESCFCNs
11.6 The Useful but Dangerous NDESCBIT
12. Some Complicated Stuff That You Don't Want to Learn But Have To
12.1 Loops
12.2 Property Manipulation
12.3 Tables
12.4 Generics
12.5 Other Information You Can Obtain from the Parser
13. New Kids on the Block - Graphics and Sound
13.1 The Basic Organization
13.2 The DISPLAY Command
13.3 Sound and Music
14. Organizing Your ZIL Files
14.1 History and Theory
14.2 The Parser
14.3 The Substrate
14.4 Your Game Files
15. Fireworks Time - Compiling Your Game
16. Using ZIL for Other Types of Games
EXERCISE THREE
Appendix A - Properties
Appendix B - Flags
Appendix C - Common Routines
Appendix D - ZIL Instructions
Index